package com.xuecheng.media.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.media.model.po.MediaProcess;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *         文件处理
 * @author XiaoBanGE
 * @since 2023-03-27
 */
public interface MediaProcessService extends IService<MediaProcess> {

    /**
     *  获取待处理任务
     * @param shardTotal 任务总数
     * @param shardIndex 分片序号
     * @param count 获取记录数
     * @return
     */
    public List<MediaProcess> getMediaProcessList(int shardTotal , int shardIndex , int count);

    /**
     *  开启任务
     * @param ID 任务ID
     * @return 返回开启任务结果，成功返回：true  失败返回：false
     */
    boolean StartTask(long ID);


    /**
     *  保存任务处理结果
     * @param taskID 任务ID
     * @param status 任务状态
     * @param fileID 文件ID
     * @param Url 处理成功后的文件的URL
     * @param errorMsg 错误信息
     */
    void SlaveTaskResult(long taskID , String status , String fileID , String Url , String errorMsg);

}
